1. Field of the Invention
The invention relates to General Packet Radio System (GPRS) and GPRS-based networks. More particularly, the present invention relates to a method and system that assigns a network address to a mobile station in a GPRS network or a GPRS-based network.
2. Background of the Invention
IPv4 is the version of IP (Internet Protocol) that is currently deployed in enterprise networks, as well as the public Internet. One of the limitations of IPv4 is that it has a limited address space. Consequently, in order to conserve addresses, enterprises and other administrative domains (ADs) have resorted to using private addresses. Private addresses are network addresses in which the IP address falls within the ranges of    [10.0.0.0-10.255.255.255],    [172.16.0.0-172.31.255.255], or    [192.168.0.0-192.168.255.255].
Private addresses that are assigned by an administrative entity within an administrative domain have relevance only within the administrative domain. Accordingly, such private addresses must not be visible outside the administrative domain. An advantage of using private addresses is that different administrative domains may assign the same private IP address to hosts within their respective administrative domains without any concern of conflict. On the other hand, a Network Address Translator (NAT) is used when a host that is assigned a private address within an administrative domain intends to send an IP datagram to a host that is outside the administrative domain of the sending host. A NAT transforms a private IP address (and possibly other selected fields within the datagram) into a public IP address prior to the IP datagram being sent outside the administrative domain associated with the NAT. Similarly, when an IP datagram is sent from a host that is outside the administrative domain associated with the NAT to a host with a private address, then the NAT transforms a public IP address to a private address.
FIG. 1 depicts two administrative domains 101 and 102 that are separated by a NAT 103. Domain 101 is a private administrative domain, while domain 102 is a public administrative domain, such as the Internet. Private domain 101 includes a plurality of IP (Internet Protocol) devices 104, 105 and 106 that each provide functionality that includes host and/or client and/or server functionality in a well-known manner. Public domain 102 also includes a plurality of IP devices, of which only IP device 107 is shown. Each IP device of public domain 102 provides functionality that includes host and/or client and/or server functionality in a well-known manner. It should be understood that both domains 101 and 102 could include any number of IP devices that are not shown in FIG. 1. As used herein, the term “IP device” is a network device that provides at least host and/or client and/or server functionality in a well-known manner.
To illustrate a conventional NAT-based address assignment operation, consider a situation in which IP device 104 within private domain 101 intends to send a datagram to IP device 107 in public domain 102. IP device 104 sends the datagram to IP device 107. NAT 103 intercepts the datagram and translates the address contained in the datagram to a valid address in the public address space. NAT 103 then forwards the datagram containing the translated address to IP device 107. When IP device 107 sends a return (or an initial) datagram to IP device 104, NAT 103 receives the datagram containing a “public” address for IP device 104, translates the address to a corresponding private address in private domain 101, and forwards the datagram to IP device 104.
Use of private addresses within an administrative domain and use of a NAT at the edge of an administrative domain has been widely adopted and deployed within enterprises. There are, however, two major drawbacks associated with use of a NAT. The first major drawback is that the NAT-based approach breaks the end-to-end security model by changing the destination address of a datagram and thereby invalidating the authentication header of the datagram. The second major drawback is that certain types of applications cannot work in the presence of a NAT, unless remedial measures are taken, such as the inclusion of an application gateway (proxy). For example, when an IP address is embedded into an application protocol data unit (PDU), an ALG (Application Level Gateway) is required so that the embedded IP address is changed because a conventional NAT-based address assignment operation will not change the embedded IP address.
In order to overcome the disadvantages associated with NATs, i.e., the security break and the “unfriendliness” toward some applications, a mechanism commonly referred to as Realm Specific IP (RSIP) has gained significant support within the Internet Engineering Task Force (IETF).
According to RSIP, when a host (i.e., an RSIP client) needs an IP address assigned, the host indicates to an RSIP server that is responsible for assigning IP addresses whether the desired IP address is needed for communicating with a IP device within the administrative domain of the requesting host, or is needed for communicating with a host/client outside the administrative domain of the requesting host. Based on the nature of the request, the RSIP server assigns a private IP address or a public IP address to the requesting host.
FIG. 2a depicts two administrative domains 201 and 202 that are separated by an RSIP server 203. Domain 201 is a private administrative domain, while domain 202 is a public administrative domain, such as the Internet. Private domain 201 includes a plurality of IP devices, of which only IP device 204 is shown. IP device 204 provides functionality that includes host and/or client and/or server functionality in a well-known manner. Public domain 202 also includes a plurality of IP devices, of which only IP device 205 is shown. Each IP device of public domain 202 provides functionality that includes host and/or client and/or server functionality in a well-known manner. It should be understood that both domains 201 and 202 could include any number of IP devices that are not shown in FIG. 2a. 
When IP device 204 desires to send a datagram to IP device 205, IP device 204 sends a datagram 206a (FIG. 2b) to RSIP server 203 containing an outer IP header 207, an inner IP header 208 and a payload 209. Outer IP header 207 contains the private address (i.e., A.1) for IP device 204 in a source (Src) field, and the private address (i.e., A.5) for RSIP server 203 in a destination (Dst) field. Inner IP header 208 contains the public address (B.2) that the RSIP server assigns device 204 in an src field, and the public address (B.20) for IP device 205 in a Dst field. RSIP server 203 removes the outer IP header and sends datagram 206b (FIG. 2b) to IP device 205 using the public address (B.20) for IP device 205 in a Dst field and the public address (B.2) for IP device 204 in an Src field.
When IP device 205 sends a datagram to IP device 204, IP device 205 sends a datagram containing the public address (B.20) for IP device 205 in an Src field and the public address (B.2) for IP device 204 in a Dst field. RSIP server 203 encapsulates the received datagram using an outer IP header containing a private address (A.1) for IP device 204 in a Dst field and the private address (A.5) for RSIP server 203 in an Src field.
Thus, when a private IP address is assigned to a requesting host, the IP datagram does not leave the administrative domain. When an IP datagram leaves an administrative domain, the address that is assigned to the transmitting host is a public IP address. Consequently, the RSIP protocol makes use of a NAT unnecessary, and thereby avoids the drawbacks involving NATs.
In the case of a General Packet Radio System (GPRS) network or a GPRS-based network (such as a Universal Mobile Telecommunications System (UMTS)), a Mobile Station (MS) is assigned an IP address by a Gateway GPRS Support Node (GGSN). Currently, such an IP address is an IPv4 address. The protocol that is used for address assignment is specific to GPRS networks and is referred to as PDP Context Activation. PDP (Packet Data Protocol) is an acronym that is used within GPRS networks to refer to IP addresses, X.25 addresses, etc. An administrative domain within GPRS networks (and within cellular networks, in general) is referred to as a PLMN (Public Land Mobile Network).
FIG. 3 shows generic GPRS protocol stacks for a mobile station (MS), base station subsystem (BSS), Serving GPRS Support Node (SGSN) and the Gateway GPRS Support Node (GGSN). The IP address for the MS may be seen on the protocol stack for the MS.
FIGS. 4a-4d illustrate a conventional PDP (Packet Data Protocol) context activation sequence within a GPRS network. During the first step of a conventional PDP context activation shown in FIG. 4a, an MS sends an Activate PDP Context Request message to an SGSN through a BSS. The Activate PDP Context Request message contains appropriate information in the NSAPI, PDP type, PDP Addr, APN, QoS Req, and PDP Config Options in a well-known manner. In FIG. 4b, the SGSN sends a Create PDP Context Request message to a GGSN containing appropriate information in the PDP Type, PDP Addr, APN, QoS Negotiated, TID, Selection Mode, PDP Config Options fields. In FIG. 4c, the GGSN sends a Create PDP Context Response message to the SGSN containing appropriate information in the TID, PDP Addr, BB Protocol, Reordering Reqd, QoS Negot., PDP Config Options and Cause fields. In FIG. 4d, the SGSN then sends an Activate PDP Context Accept message to the MS containing appropriate information in the NSAPI, PDP Type, PDP Addr, QoS Req, Radio Priority Level and PDP Config Options field.
Nevertheless, the GPRS standard does not specify whether private or public IP addresses are assigned to a requesting MS. Address assignment is not a standardization issue because a NAT is currently used at a PLMN boundary when private IP addresses are used. That is, current GPRS deployments rely on NATs at the GGSN when private addresses are assigned to a requesting MS. While this handles the problem of conserving IPv4 addresses, end-to-end security or application friendliness is not provided.
Even though a conventional PDP context activation procedure within a GPRS network assigns an IPv4 address to a mobile station, what is needed is a technique for assigning an IPv4 address to a mobile station in a GPRS network or a GPRS-based network that conserves IPv4 addresses and simultaneously maintains end-to-end security and application friendliness.